<?php
include_once($URL_OBJETO.'conexion.php');
include_once($URL_OBJETO.'oLibroVisitas.php');

class aLibroVisitas  {
	
	public function getxCodigo($cod) {
		$lista = $this->getListaxCriterio("cod_visita = $cod");
		if(count($lista) > 0) 
			return $lista[0];
		else
			return false;
	}
	

	public function getListaPorCriterio($criterio, $cuantos = "", $offset = "") {
		$connect = new PG();
		if(!$connect->Conectar()) {
			exit($connect->VerError());
		}
		else {
			$sql = "SELECT 
				  cod_visita,
				  cod_gabinete,
				  cod_visitante,
				  fecha_visita,
				  hora_ingreso,
				  hora_salida,
				  cod_motivo_visita,
				  cod_autorizador,
				  observacion
				FROM 
				  public.libro_visitas";
			
			
			if(!empty($criterio)) {
				$sql .= " WHERE ".$criterio;				
			}
			
			if(!empty($cuantos)) {
				$sql .= " LIMIT ".($cuantos + 0)." OFFSET ".($offset + 0);
			}
	
			$lista = array();
			
			$sql = $connect->pgt_query($sql);
			while($row = pg_fetch_array($sql)){
				$o = new oLibroVisitas();
				$o->setCodVisita($row['cod_visita']);
				$o->setCodGabinete($row['cod_gabinete']);
				$o->setCodVisitante($row['cod_visitante']);
				$o->setFechaVisita($row['fecha_visita']);
				$o->setHoraIngreso($row['hora_ingreso']);
				$o->setHoraSalida($row['hora_salida']);
				$o->setCodMotivoVisita($row['cod_motivo_visita']);
				$o->setCodAutorizador($row['cod_autorizador']);
				$o->setObservacion($row['observacion']);							
				
				array_push($lista, $o);
			}
			$connect->LimpiarConsulta();
			$connect->CerrarConexion();
			return $lista;
		}
	}
	
	public function getCountPorCriterio($criterio) {
		$connect = new PG();
		if(!$connect->Conectar()) {
			exit($connect->VerError());
		}
		else {
			$sql = "SELECT count(*) FROM libro_visitas l ";
			
			if(!empty($criterio)) {
				$sql .= "WHERE ".$criterio;
			}
	
			$lista = array();
				
			$sql = $connect->pgt_query($sql);
			$row = pg_fetch_array($sql);
			$contador = $row[0];
	
			$connect->LimpiarConsulta();
			$connect->CerrarConexion();
	
			return $contador;
		}
	}
	
	public function getFechaUltimaVisita($codVisitante) {
		$connect = new PG();
		if(!$connect->Conectar()) {
			exit($connect->VerError());
		}
		else {
			$sql = "SELECT max(fecha_visita) FROM libro_visitas l where cod_visitante = ".$codVisitante;
				
			$lista = array();
		
			$sql = $connect->pgt_query($sql);
			$row = pg_fetch_array($sql);
			$fecha = $row[0];
		
			$connect->LimpiarConsulta();
			$connect->CerrarConexion();
		
			return $fecha;
		}		
	}
	
}